﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using EstacionDePoder.Codigo;
using BLLEP;
using BLLEP.Presentacion;
using BLLEP.Funcionalidad;
using System.Drawing;

namespace EstacionDePoder.Tienda
{
    public partial class MisPedidos : FormGenerico
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            EmailActual = User.Identity.Name;

            if (!IsPostBack)
            {
                SetearVisibilidad(btnMostrarMediosDePago, false);
            }
        }

        protected void gvMisPedidos_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            PedidoPresentacion pedido = e.Row.DataItem as PedidoPresentacion;

            if (pedido != null)
            {
                if(pedido.Estado.Equals(EstadoPedido.Cancelado.ToString()) ||pedido.Estado.Equals(EstadoPedido.Pagado.ToString()))
                {
                    ImageButton imgPagar = e.Row.FindControl("imgPagar") as ImageButton;
                    ImageButton imgCancelar = e.Row.FindControl("imgCancelar") as ImageButton;

                    imgPagar.Enabled = imgCancelar.Enabled = false;
                    imgPagar.ToolTip = imgCancelar.ToolTip = "No disponible";
                    imgPagar.Style.Add("opacity", "0.5");
                    imgCancelar.Style.Add("opacity", "0.5");
                }

                Panel pnlEstado = e.Row.FindControl("pnlEstado") as Panel;

                if (pedido.Estado.Equals(EstadoPedido.Cancelado.ToString()))
                    pnlEstado.BackColor = Color.Brown;
                else if (pedido.Estado.Equals(EstadoPedido.Pendiente.ToString()))
                    pnlEstado.BackColor = Color.Red;
                else if (pedido.Estado.Equals(EstadoPedido.Pagado.ToString()))
                    pnlEstado.BackColor = Color.Green;
            }
        }

        protected void imgCancelar_Click(object sender, EventArgs e)
        {
            ImageButton imgCancelar = sender as ImageButton;
            BLLPedido bllPedido = new BLLPedido();
            bllPedido.CancelarPedido(User.Identity.Name, int.Parse(imgCancelar.CommandArgument));
            bllPedido.GuardarCambios();
            gvMisPedidos.DataBind();
        }

        protected void imgPagar_Click(object sender, EventArgs e)
        {
            ImageButton imgPagar = sender as ImageButton;
            hfIdPedidoPagando.Value = imgPagar.CommandArgument;
            mpeMediosDePago.Show();
        }

        protected void btnContinuarCompra_Click(object sender, EventArgs e)
        {
            if (rdoTransferencia.Checked)
                Response.Redirect("~/Tienda/PagarTransferencia.aspx?idPedido=" + hfIdPedidoPagando.Value);
            else if(rdoMercadoPago.Checked)
                Response.Redirect("~/Tienda/PagarMercadoPago.aspx?idPedido=" + hfIdPedidoPagando.Value);
            else if(rdoTarjeta.Checked)
                Response.Redirect("~/Tienda/PagarTarjeta.aspx?idPedido=" + hfIdPedidoPagando.Value);
        }
    }
}